اشکال در ایجاد کلید خارجی در Sql Server
سلام
من میخوام بین دو تا از جدولهای خودم در دیتابیسم کلید خارجی ایجاد کنم. در یکی از جدول ها فیلد UserID کلید اصلی هست و در جدول دوم میخوام فیلد UserID رو به عنوان کلید خارجی ثبت کنم. اما وقتی روی گزینه Relationship در Sql Server کلیک میکنم

اصلا اسم جدول دومم که قراره کلید خارجی توش ثبت بشه نمیاد.
ممکنه راهنمایی بفرمایید
پاسخ هوش مصنوعی
برای ایجاد یک کلید خارجی در SQL Server، باید اطمینان حاصل کنید که شرایط زیر برآورده شده است:
- نوع داده فیلد کلید اصلی (UserID) و فیلد کلید خارجی در جدول دوم باید یکسان باشند.
- فیلد کلید اصلی باید منحصر به فرد و غیر NULL باشد.
- جدول دوم باید در دیتابیس شما وجود داشته باشد.
اگر جدول دوم شما در لیست موجود نیست، ممکن است به دلیل یکی از دلایل زیر باشد:
- جدول دوم هنوز ایجاد نشده است.
- شما مجوز کافی برای مشاهده جدول دوم را ندارید.
- در هنگام انتخاب جدول اصلی ممکن است انتخاب نادرستی انجام داده باشید.
برای ایجاد رابطه بین دو جدول می توانید از کد زیر استفاده کنید:
ALTER TABLE TableName2
ADD CONSTRAINT FK_UserID
FOREIGN KEY (UserID) REFERENCES TableName1(UserID);
لطفاً نام جداول و فیلدها را مطابق نیاز خود تغییر دهید.
در صورتی که هنوز مشکلی وجود دارد، بررسی کنید که آیا فیلد UserID در هر دو جدول به درستی تعریف شده است و تمام شرایط ذکر شده رعایت شده باشد.
سلام
البته موردی که میفرمایید شاید یک مقدار غیر طبیعی باشه که اسم جدولی که میخاید کلید خارجی براش ثبت کنید رو نیاره. اما بنظرم برای ایجاد کلید خارجی از دستورات T-Sql استفاده کنید خیلی بهتره و خطای کمتری دریافت می کنید.
برای این منظور از دستور زیر استفاده کنید :
ALTER TABLE Customer
ADD CONSTRAINT ForeignKey_Name FOREIGN KEY (UserID)
REFERENCES User_Tbl (UserID)
با سلام. دوست عزیز اینکه شما روی فیلد مورد نظر راست کلیک کرده و Relationships رو یزنید منوط بر این نیست که قراره روی فیلد مورد نظر ارتباط قرار دهید. در واقع این کار کل ارتباطات تیبل شما رو نمایش میده. شما بعد از این که روی این گزینه کلیک کردید دکمه Add رو از پایین سمت چپ بزنید تا یک گزینه به لیستتون اضافه بشه. بعد از اون از سمت راست گزینه دوم یعنی Tables And Columns Specif رو بزنید تا دکمه سه نقطه نمایش داده بشه. بعد روی سه نقطه کلیک کنید و در صفحه ای که باز میشود در کمبو باکس سمت چپ نام تیبل و کلید اصلی و در کمبو باکس سمت راست نام تیبل و کلید خارجی را انتخاب و در نهایت تنظیمات را ذخیره کنید.
موفق باشید.
با سلام میشه یه عکس از صفحه ای که میگین نام جدول رو نمیاره بزارین؟
پاسخ به Smartcpu
البته مشکل با نوشتن کوئری حل شد.
اما ببینید توی تصویر زیر در جدول JobPlace_Tbl من میخوام فیلد UserID رو به عنوان کلید خارجی تعریف کنم. توی فرمی که با ز شده یه کمبوباکس هست که باید تایین کنیم کلید خارجی توی کدوم جدوله. که نوشته User_Tbl و قابل تغییر هم نیست. در حالی که کلید خارجی توی جدول JobPlace_Tbl هست و در جدول User_Tbl کلید اصلی هست. نمی دونم چرا برعکس نمایش میده اینجا. ممنون از شما

درسته که نام جدول User_Tbl نوشته اشتباهه ولی از فیلد JobPlaceId پیداست که فیلد های جدول JobPlace_Tbl رو نشون میده بعضی وقت ها برام پیش اومده جدولی درست کردم ولی نام جدول رو در Query مینویسم نمیاره با یه بار بست Sql کار حل میشه ولی همینطور که استاد فرمودن دستورات T-Sql خوبه و مشکلتون حل شده.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- حذف کامل یک رکورد در جدول ریلیشن شده
- مقایسه ساختار دو دیتابیس در Sql Server
- تفاوت اوراکل و Sql Server چیست
- جابه جایی سطر و ستون در Sql Server
- استفاده از Stored Procedure در انتیتی فریم ورک code First
- آپدیت لیستی از رکوردها در Sql Server - آپدیت گروهی اطلاعات در Sql Server
- دلیل پرش 1000 تایی خودکار فیلد identity در Sql server
- مشکل نمایش ندادن Data Type موقع تایپ در Sql Server
- کار با تاریخ شمسی وساعت (استفاده از توابع )
- دلیل افزایش حجم Database بعد از ری استور در هاست Plesk